package cn.iocoder.yudao.module.forward.mqtt.message;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;

@Data
@ToString
public class AckMessage implements Serializable {
    @JSONField(name = "1")
    protected String msgID; //预警发布消息 ID

    @JSONField(name = "2")
    protected String msgType; //消息类型 参考值：0101，0201，0301

    @JSONField(name = "3")
    protected String receiveTime; //消息发送时间,格式：YYYY-MMDDhh:mm:ss.SSS（24小时，年-月-日 时:分：秒.毫秒）

    @JSONField(name = "4")
    protected String sendTime; //消息发送时间,格式：YYYY-MMDDhh:mm:ss.SSS（24小时，年-月-日 时:分：秒.毫秒）

    @JSONField(name = "5")
    protected String msgSource; //发布单元 ID

    @JSONField(name = "6")
    protected String checkCode; //用于消息体完整性、正确性校验,后期如需要可加载数字签名

    @JSONField(name = "7")
    protected String version; //预警发布协议版本号

    @JSONField(name = "8")
    private String eewId; //地震事件 Id

    @JSONField(name = "9")
    private String recerver; //发布单元 ID

    @JSONField(name = "10")
    private String warnningLevel; //包括：red（红色预警）、orange（橙色预警）、yellow（黄色预警）、blue（蓝色预警）

    @JSONField(name = "11")
    private Handles handles; //Leds：yes/no，即是否启动灯光告警：是/否；Sounds：yes/no，即是否启动声音光告警：是/否；Display：yes/no，即是否进行屏幕告警提醒：是/否

    @JSONField(name = "12")
    private Integer intensity; //烈度

    @JSONField(name = "13")
    private Integer distance; //距离

    @JSONField(name = "14")
    private Integer second; //倒计时
}
